#include "soc_exit.h"

/* 外部中断初始化 */
void soc_exit_init(void)
{
    /* dev_touch */

    return;
}

/* 通知管脚中断 (不想rt-thread接管, 所以可以在 dev_gpio.c中注释掉) */
void EXTI9_5_IRQHandler(void)
{
    rt_interrupt_enter();

    /* 调用中断处理公用函数 */
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_6);
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7);
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8);
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);

    rt_interrupt_leave();
}

/* 中断回调函数 (不想rt-thread接管, 所以可以在 dev_gpio.c中注释掉) */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
    soc_time_delay_ms(20); /* 延时消抖 */

    switch (GPIO_Pin)
    {
        case BSP_DEV_TOUCH_INT_PIN:
            /* 设置触摸设备触摸状态 */
            //dev_touch_set_press_status();
            rt_kprintf("irq\r\n");
            break;

        default:break;
    }

    return;
}
